Security of information stored on computer systems is a primary concern. Many different techniques have been implemented to secure such information, from security application software installed on computer systems, to hardware keys required for access to information.
Another way to secure information is known as the Trusted Platform Module (TPM) specification from the Trusted Computing Group (TCG). In this specification, a standard chipset including a programmable microcontroller is provided on a computer's circuit board during manufacturing, and is used to store and secure information of the computer system that is desired to be protected, i.e., enable effective trusted computing features. The security architecture (i.e., the functions and the application program interface (API)) that runs on the microcontroller, can be referred to as a TPM. A TPM can offer a variety of features, including a random number generator, facilities for secure generation of cryptographic keys, and abilities to limit the use of keys, e.g., to signing and verification, and/or encryption and decryption.
As e-commerce, e-government and e-business grows with the increasing threat of cybercrime, there is a tradeoff emerging in the use of security technologies for protecting data and authenticating identities and transactions. Information technology owners of processes involving these identities and transactions desire to use specific encryption algorithms tailored to their own circumstances and risk profiles. They want to use specific, feature set implementations of TPMs associated with desired encryption algorithms to support the required assurance level of their end-to-end systems and operational models. For example, a standard general purpose TPM may use a particular set of encryption algorithms including the Advanced Encryption Standard (AES). However, particular governmental organizations may use different algorithms than AES, such as the government of Russia using GOST (Gosudarstvennyi Standart) encryption or the government of China using SMS4 encryption. Others, such as the National Security Agency of the United States, may use their own algorithms which they do not wish to publicly disclose.
Such different requirements by different entities would typically require that each TPM chipset be specifically tailored for the security architecture and algorithms desired by its particular end-user. Thus, a different security architecture implementing particular hashing and encryption algorithms and other functionality will have to be loaded on different TPM chipsets before delivery to the end user. This requires that a different TPM chip be made for each different user specification, which can greatly increase the cost of manufacture of TPMs and thus the cost for the user to install this type of security on their systems.
In addition, prior implementations of TPM chips have not allowed a TPM architecture to be securely unloaded from the microcontroller to allow the loading of other applications on the chip, nor have they allowed the most recent version of an unloaded TPM architecture to be securely reloaded into the chip.
Accordingly, what is needed is a flexible and secure approach to use a secure programmable microcontroller to support various security architectures and their encryption algorithms and incorporate these into the emulation of different instances of TPM hardware. The present invention addresses such a need.